home *** CD-ROM | disk | FTP | other *** search
/ BCI NET 2 / BCI NET 2.iso / archives / programming / libraries / svlib102d.lha / superview-lib_DEV / Programmers / include / svobjects / svobjects.h < prev   
Encoding:
C/C++ Source or Header  |  1995-02-17  |  4.4 KB  |  107 lines

  1. /* svobjects/svobjects.h            */
  2. /* Version    : 9.13                */
  3. /* Date       : 06.01.1995          */
  4. /* Written by : Andreas R. Kleinert */
  5.  
  6. /* SVObject-Version V2.x+ */
  7.  
  8. #ifndef SVOBJECTS_SVOBJECTS_H
  9. #define SVOBJECTS_SVOBJECTS_H
  10.  
  11.  
  12. struct SVO_ObjectNode
  13. {
  14.  struct Node svo_Node;              /* chaining Node                         */
  15.                                     /* (svo_Node->ln_Name is NULL            */
  16.                                     /*  by default !)                        */
  17.  
  18.  ULONG svo_Version;                 /* Library-Version of svobject           */
  19.  
  20.  ULONG svo_ObjectType;              /* see below (SVO_OBJECTTYPE_...)        */
  21.  
  22.  UBYTE svo_FileName [108];          /* use 30, as in struct FileInfoBlock    */
  23.  
  24.  UBYTE svo_TypeID      [32];        /* e.g. "GIF"                            */
  25.  ULONG svo_TypeCode;                /* ... and its appropriate Code,  ,      */
  26.                                     /* assigned by superview.library LATER.  */
  27.  
  28.  ULONG svo_SubTypeNum;              /* actually available SubTypes           */
  29.                                     /* (maximum 16) of the svobject.         */
  30.  
  31.                                     /* 0xFFFFFFFF means, that the            */
  32.                                     /* SubTypeID and SubTypeCode fields have */
  33.                                     /* to be skipped.                        */
  34.  
  35.  UBYTE svo_SubTypeID   [16][16];    /* e.g. "87a" or "89a"                   */
  36.  ULONG svo_SubTypeCode [16];        /* ... and their appropriate Codes,      */
  37.                                     /* assigned by superview.library LATER.  */
  38.  
  39.  /* version 2 extensions : */
  40.  
  41.  ULONG svo_Flags;                   /* SVO_FLAG_... (see below)              */
  42.  
  43.  /* size may grow with bigger svo_Version, see below */
  44. };
  45.  
  46. #define SVO_VERSION (2)             /* If this Version, which depends on the */
  47.                                     /* svobject's Library-Version, is set,   */
  48.                                     /* it is guaranteed, that at least the   */
  49.                                     /* above information is available.       */
  50.  
  51. #define SVO_FILENAME "INTERNAL"     /* for internal svobjects only.          */
  52.  
  53.  
  54. #define SVO_OBJECTTYPE_NONE    ((ULONG) 0)
  55. #define SVO_OBJECTTYPE_UNKNOWN SVO_OBJECTTYPE_NONE
  56. #define SVO_OBJECTTYPE_ILLEGAL ((ULONG) 0xFFFFFFFF)
  57.  
  58. #define SVO_OBJECTTYPE_INTERNAL ((ULONG) 1) /* internal                  */
  59. #define SVO_OBJECTTYPE_RESERVED ((ULONG) 2) /* (reserved for future use) */
  60. #define SVO_OBJECTTYPE_EXTERNAL ((ULONG) 3) /* external svobject         */
  61.  
  62.  
  63.   /* The following flags have been introduced with the V2 SVObjects
  64.      (depending on svo_Version : do not check them with V1 SVObjects).
  65.      They should help any applications deciding, whether a specific
  66.      SVObject may fulfil an action or not.
  67.      Note : Some SVObjects may not have the correct flags set and might
  68.             return SVERR_ACTION_NOT_SUPPORTED nevertheless
  69.   */
  70.  
  71.  
  72. #define SVO_FLAG_READS_TO_BUFFER    (1<<0) /* allows reading to SV_GfxBuffer */
  73. #define SVO_FLAG_READS_TO_SCREEN    (1<<1) /* allows displaying on Screen    */
  74.  
  75. #define SVO_FLAG_WRITES_FROM_BUFFER (1<<2) /* writes SV_GfxBuffer to file    */
  76. #define SVO_FLAG_WRITES_FROM_SCREEN (1<<3) /* writes Screen to file          */
  77.  
  78. #define SVO_FLAG_SUPPORTS_SVDRIVER  (1<<4) /* uses default SVDriver,         */
  79.                                            /* if available                   */
  80. #define SVO_FLAG_NEEDS_SVDRIVER     (1<<5) /* needs valid default SVDriver   */
  81.                                            /* for working. Developers :      */
  82.                                            /* Set SVO_FLAG_SVDRIVER instead  */
  83.  
  84. #define SVO_FLAG_SVDRIVER (SVO_FLAG_SUPPORTS_SVDRIVER | SVO_FLAG_NEEDS_SVDRIVER)
  85.  
  86.  
  87.  /* This structure has to be passed to SVObject's SVO_CheckFileType()
  88.     function, if media other than AKO_MEDIUM_DISK are used for reading.
  89.     This is supported since superview.library V4 and may be ignored by
  90.     SVObjects for compatibility reasons. To prevent older SVO_CheckFileType()
  91.     functions from crashing, superview.library will create a dummy-file and
  92.     pass it's handle also ...
  93.     ("You wanna something to check ? - Here you get it !")
  94.  
  95.      In the V3-SVObject specification this structure will HAVE TO be
  96.      examined, then. In the current V2-specification this is not the case.
  97.   */
  98.     
  99. struct SVOCheckFile
  100. {
  101.  ULONG svc_Medium;   /* AKO_MEDIUM_... */
  102.  
  103.  ULONG svc_Future;   /* as usual       */ 
  104. };
  105.  
  106. #endif /* SVOBJECTS_SVOBJECTS_H */
  107.